﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x02000088 RID: 136
	public class TBeginTran : TCustomSqlStatement
	{
		// Token: 0x06000371 RID: 881 RVA: 0x002F9E38 File Offset: 0x002F8038
		public TBeginTran(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstbegintran;
		}

		// Token: 0x06000372 RID: 882 RVA: 0x002F9E4C File Offset: 0x002F804C
		private new void buildsql()
		{
		}

		// Token: 0x06000373 RID: 883 RVA: 0x002F9E4E File Offset: 0x002F804E
		private new void clear()
		{
		}

		// Token: 0x06000374 RID: 884 RVA: 0x002F9E50 File Offset: 0x002F8050
		private new string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000375 RID: 885 RVA: 0x002F9E57 File Offset: 0x002F8057
		private void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x06000376 RID: 886 RVA: 0x002F9E59 File Offset: 0x002F8059
		public TObjectName getTransactionName()
		{
			return this.transactionName;
		}

		// Token: 0x06000377 RID: 887 RVA: 0x002F9E61 File Offset: 0x002F8061
		public bool isDistributed()
		{
			return this.distributed;
		}

		// Token: 0x06000378 RID: 888 RVA: 0x002F9E69 File Offset: 0x002F8069
		public bool isWithMark()
		{
			return this.withMark;
		}

		// Token: 0x06000379 RID: 889 RVA: 0x002F9E71 File Offset: 0x002F8071
		public TConstant getWithMarkDescription()
		{
			return this.withMarkDescription;
		}

		// Token: 0x0600037A RID: 890 RVA: 0x002F9E7C File Offset: 0x002F807C
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			TBeginTranSqlNode tbeginTranSqlNode = (TBeginTranSqlNode)this.rootNode;
			base.doParseStatement(psql);
			this.transactionName = tbeginTranSqlNode.getTransactionName();
			this.distributed = tbeginTranSqlNode.isDistributed();
			this.withMark = tbeginTranSqlNode.isWithMark();
			this.withMarkDescription = tbeginTranSqlNode.getWithMarkDescription();
			return 0;
		}

		// Token: 0x0600037B RID: 891 RVA: 0x002F9ED8 File Offset: 0x002F80D8
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600037C RID: 892 RVA: 0x002F9EE8 File Offset: 0x002F80E8
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600037D RID: 893 RVA: 0x002F9EF8 File Offset: 0x002F80F8
		public void setTransactionName(TObjectName transactionName)
		{
			this.transactionName = transactionName;
		}

		// Token: 0x0600037E RID: 894 RVA: 0x002F9F01 File Offset: 0x002F8101
		public void setDistributed(bool distributed)
		{
			this.distributed = distributed;
		}

		// Token: 0x0600037F RID: 895 RVA: 0x002F9F0A File Offset: 0x002F810A
		public void setWithMark(bool withMark)
		{
			this.withMark = withMark;
		}

		// Token: 0x06000380 RID: 896 RVA: 0x002F9F13 File Offset: 0x002F8113
		public void setWithMarkDescription(TConstant withMarkDescription)
		{
			this.withMarkDescription = withMarkDescription;
		}

		// Token: 0x040010AD RID: 4269
		private TObjectName transactionName;

		// Token: 0x040010AE RID: 4270
		private bool distributed;

		// Token: 0x040010AF RID: 4271
		private bool withMark;

		// Token: 0x040010B0 RID: 4272
		private TConstant withMarkDescription;
	}
}
